JPEGView version 3.3 JPEGView was — for the most part — written, conceived, produced, and documented by Aaron Giles. Behind the scenes, however, were quite a number of other rather important people you should know about. Dirty Work First I want to thank all those other programmers who were nice enough to do some of the dirty work for me. Their efforts in particular are responsible for making JPEGView work so smoothly: Troy Gaul wrote Infinity Windoid, the code that draws the way cool floating windows everyone likes so much. Ramon Felciano wrote Mercutio, the code which draws the menus and handles lots of weird keypresses. The Independent JPEG Group, headed by Tom Lane, wrote the original color reduction algorithm, which was used as the basis for JPEGView’s color reduction, in addition to the JPEG decompression code which is used as an alternative to QuickTime. Ross Williams wrote LZRW1, the data compression technique used to squeeze the on-line help down to a reasonable size. Prerelease Hell A big part of putting together a new release of JPEGView is the serious amount of testing that is needed to make sure everything works on all (most?) machines. To this end, I would like to acknowledge all the alpha and beta testers who have contributed toward testing this JPEGView release: Bob Andrews Jim Brunner Justin Collins Shawn Connelly John Coolidge Ramon Felciano Mike Fetzer Troy Gaul Stephen Haase Paul Jacoby Paul Jensen Dave Johnson Hugh Johnson David Johnston Mark Krueger Tom Lane Richard Lim Tim Lowe Robert Mah Tom McDougal Sam Neal Tim North Victor Norton Brian Olson Dan Pendergrass Steve Poole Charlie Reiman Axel M. Roest Eric Sack Francois Schiettecatte Bart Sears James N. Stricherz Steve Unger Chris Webster Friends in High Places A few special words of thanks are in order for several Apple employees who have made all the difference in helping me make JPEGView a success. Mark Krueger was the guy who originally noticed JPEGView and helped me change it from a really basic hack into a robust QuickTime application. Tim Lowe has been instrumental in helping me adopt and adapt to new Apple technologies — especially AppleScript — faster than I would have ever been able to without him. And finally, thanks to Jim Pelkey and Linda Haas, for organizing the PowerPC developer’s kitchen, and for making it such a great success. Others Who Have Made a Difference Tom Lane wrote the second-largest help chapter, General JPEG Questions & Answers, and deserves some additional praise for founding and heading the Independent JPEG Group, whose free source code has made the widespread use of JPEG images possible. John Coolidge, I recently discovered, is responsible for sorting and maintaining the burgeoning JPEG image archives at wuarchive.wustl.edu. Here’s hoping he can find the time (or the help!) to finally get all those pictures sorted! More than 950 registered JPEGView users have so far taken the time to send in their postcards and letters, and believe me, the response has kept me going — keep ’em coming! Finally, I want to thank my wonderful wife Shanti, for being (relatively) understanding and even supportive of my programming addiction/obsession. Some Gory Details JPEGView 3.3 consists of over 37,000 lines of vanilla C code, plus about 2700 lines of 68020 assembly for GIF decoding, color reduction, and direct-to-screen drawing. The 680x0 version of JPEGView was compiled under MPW C and MPW Assembler. Debugging was usually done with Metrowerks Code Warrior. The PowerPC version of JPEGView was compiled under Apple’s MPW PPCC compiler — but not very often. Again I used Metrowerks Code Warrior for debugger. I didn’t even consider using assembly for this version. The JPEGView JFIF Preview extension is about 400 lines of C code, and was compiled under MPW as well. It is a “fat component” and runs natively on both platforms. All the example AppleScript scripts were written and compiled using Apple’s Script Editor, under AppleScript 1.0. Development was done for the most part on a Power Macintosh 6100/84av (a big cheer for clock-chipping!), driving an Apple 16” Display. A lot of testing and all final builds were done on a Quadra 840av 16/330, with an Apple 16” display.